package com.collect.zambia.zhiScene.zhiAuditer.zhiFollow.zhiD0;

import android.content.Context;

import com.collect.zambia.zhiBase.BaseContract;
import com.collect.zambia.zhiBean.zhiReceive.ZHIRCustomerBankAccountEntity;
import com.collect.zambia.zhiBean.zhiReceive.ZHIRCustomerRepayOrderListEntity;
import com.collect.zambia.zhiBean.zhiReceive.ZHIRPartRepayListEntity;
import com.collect.zambia.zhiBean.zhiReceive.ZHIRRepaymentLinkEntity;
import com.collect.zambia.zhiBean.zhiReceive.ZHIRWarnLetterEntity;
import com.collect.zambia.zhiBean.zhiSend.ZHISCaseRecordEntity;
import com.collect.zambia.zhiBean.zhiSend.ZHISCustomerMarkedOrder;
import com.collect.zambia.zhiBean.zhiSend.ZHISCustomerRepayOrderListEntity;
import com.collect.zambia.zhiBean.zhiSend.ZHISPartRepayListEntity;
import com.collect.zambia.zhiBean.zhiSend.ZHISRepaymentLinkEntity;
import com.collect.zambia.zhiBean.zhiSend.ZHISSendSmsEntity;
import com.collect.zambia.zhiBean.zhiSend.ZHISSendWarnLetterEntity;

import java.util.ArrayList;

public class ZHIAuditerD0Contract {
    interface View extends BaseContract.View {
        /**
         * 错误信息返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-14 17:54
         */
        void onGetErrorInfo();

        /**
         * 获取案件列表返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetLatestCustomerRepayOrderListV2(ArrayList<ZHIRCustomerRepayOrderListEntity> zhirRCustomerRepayOrderListEntityArrayList);

        /**
         * 客服-添加标记返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onMarkCustomerRepayOrder();

        /**
         * 获取部分还款列表返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetPartRepayList(ArrayList<ZHIRPartRepayListEntity> arrayList);

        /**
         * 获取用户的虚拟账户,根据订单号，返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetUserVirtualAccount(ZHISPartRepayListEntity zhiSPartRepayListEntity, ZHIRCustomerBankAccountEntity zhirCustomerBankAccountEntity);

        /**
         * 获取还款链接返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetRepayLink(ZHIRRepaymentLinkEntity repayLink);

        /**
         * 添加案件催记返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onCaseRecordForWhatsapp(String contactMobile, String content);

        /**
         * 发送短信返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onSendTagSmsV2();

        /**
         * 发送还款链接返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onSendTagSmsLink();

        /**
         * 获取用户借款函 pdfurl返回
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void onGetUserDemandLetterPdfUrl(ZHIRWarnLetterEntity zhirWarnLetterEntity);
    }

    interface Presenter extends BaseContract.Presenter<View> {
        /**
         * 获取案件列表
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getLatestCustomerRepayOrderListV2(Context context, ZHISCustomerRepayOrderListEntity zhiSCustomerRepayOrderListEntity, boolean showLoading);

        /**
         * 客服-添加标记
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void markCustomerRepayOrder(Context context, ZHISCustomerMarkedOrder zhiSCustomerMarkedOrder, boolean showLoading);

        /**
         * 获取部分还款列表
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getPartRepayList(Context context, ZHISPartRepayListEntity zhiSPartRepayListEntity);

        /**
         * 获取用户的虚拟账户,根据订单号
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getUserVirtualAccount(final Context context, final ZHISPartRepayListEntity zhiSPartRepayListEntity);

        /**
         * 获取还款链接
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getRepayLink(Context context, ZHISRepaymentLinkEntity zhiSRepaymentLinkEntity);

        /**
         * 发送短信
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void sendTagSmsV2(Context context, ZHISSendSmsEntity zhiSSendSmsEntity);

        /**
         * 添加案件催记
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void caseRecordForWhatsapp(Context context, final ZHISCaseRecordEntity zhiSCaseRecordEntity, final String content);

        /**
         * 发送还款链接
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void sendTagSmsLink(Context context, ZHISSendSmsEntity zhisSendSmsEntity);

        /**
         * 获取用户借款函 pdfurl
         *
         * @type method
         * @author liwenjie
         * @creatTime 2019-11-06 17:52
         */
        void getUserDemandLetterPdfUrl(Context context, ZHISSendWarnLetterEntity zhisSendWarnLetterEntity);
    }
}
